Mininet是一個網絡模擬器,可以模擬虛擬主機,交換器,控制器來建造虛擬網路拓撲,同時,其交換機支持OpenFlow協定,用於高度靈活的自定義路由和軟件定義網路。
sudo apt-get install mininet
開始Mininet
sudo mn
這個指令會啟動兩個虛擬主機及一個OpemFlow 交換器,以及一個OpemFlow Controller
mininet> help
mininet> net
可以看到各節點的Link
mininet> dump
可以看到各節點的訊息
mininet> nodes
顯示現在網路拓樸有多少節點
mininet> h1 ping h2
測試h1和h2的連線
sudo mn -custom 路徑 --topo mytopo
建立我們自定義的網路拓樸
from mininet.topo import Topo
class MyTopo( Topo ):
"Simple topology example."
def __init__( self ):
"Create custom topo."
# Initialize topology
Topo.__init__( self )
# Add hosts and switches
leftHost = self.addHost( 'h1' )
rightHost = self.addHost( 'h2' )
leftSwitch = self.addSwitch( 's3' )
rightSwitch = self.addSwitch( 's4' )
centSwitch = self.addSwitch( 's5' )
# Add links
self.addLink( leftHost, leftSwitch )
self.addLink( leftSwitch, rightSwitch )
self.addLink( rightSwitch, rightHost )
self.addLink( rightSwitch, centSwitch )
self.addLink( leftSwitch, centSwitch )
topos = { 'mytopo': ( lambda: MyTopo() ) }```
參考資料
http://mininet.org/walkthrough/